import java.util.LinkedList;
import java.util.Scanner;
//根据项目需求，为了节省空间时间成本，应使用链表而非顺序表。
public class KTVMethods {
    public static void show(LinkedList<String> MusicList){
        System.out.println("------------------------欢迎来到点歌系统-----------------------------");
        System.out.println("0.添加歌曲至列表");
        System.out.println("1.将歌曲置顶");
        System.out.println("2.将歌曲前移一位");
        System.out.println("3.退出");
    }
//初始化歌曲列表
    public static void initMusic(LinkedList<String> MusicList){
        MusicList.add("孤勇者");
        MusicList.add("本草纲目");
        MusicList.add("稻香");
        MusicList.add("夜的第七章");
        MusicList.add("万僵");
        MusicList.add("龙卷风");
        System.out.println("初始歌曲列表："+MusicList);
    }
//尾插法新增歌曲
    public static void addMusic(LinkedList<String> MusicList){
        System.out.println("请输入你要添加的歌曲名称：");
        Scanner scanner=new Scanner(System.in);
        String MusicName=scanner.nextLine();
        MusicList.add(MusicName);
        System.out.println("已加入歌曲："+MusicList.getLast());
    }
//置顶歌曲
    public static void topMusic(LinkedList<String> MusicList){
        System.out.println("请输入要置顶的歌曲名称：");
        Scanner scanner=new Scanner(System.in);
        String MusicName=scanner.nextLine();
        //遍历链表，判断有没有这首歌
        for(Object i:MusicList){
            if(i.equals(MusicName)) {
                //如果有，就先删掉，再头插
                MusicList.remove(MusicName);
                MusicList.addFirst(MusicName);
                System.out.println("已将歌曲"+MusicList.getFirst()+"置顶");
                return;
            }
        }
        System.out.println("没有这首歌");
    }
    //前置歌曲
    public static void musicForward(LinkedList<String> MusicList){
        System.out.println("请输入要前置的歌曲名：");
        Scanner scanner=new Scanner(System.in);
        String MusicName=scanner.nextLine();
        //判断有没有这首歌
        for(int i=0;i<MusicList.size();i++) {
            if((MusicList.get(i)).equals(MusicName)) {
                //如果有，就在其下标位置的前一个新增，并且删除原来的位置的元素
                MusicList.add(i-1,MusicName);
                MusicList.remove(i+1);
                System.out.println("已将歌曲"+MusicName+"置前一位");
                return;
            }
        }
        System.out.println("没有这首歌");
    }
}